package cn.itcast.web.controller.stat;


import cn.itcast.service.stat.StatService;
import cn.itcast.web.controller.BaseController;
import com.alibaba.dubbo.config.annotation.Reference;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.List;
import java.util.Map;

@Controller
@RequestMapping("/stat")
public class StatController extends BaseController {


    @Reference
    private StatService statService;

    /*
        url:/stat/toCharts.do?chartsType=factory
        作用： 进入报表页面
        参数： chartsType 报表页面的类型
   */
    @RequestMapping("/toCharts")
    public String toCharts(String chartsType){
        String companyName = getLoginCompanyName();
        request.setAttribute("companyName",companyName);
        return "stat/stat-"+chartsType;
    }


    /**
     * 统计生产厂家销量金额
     * @return 返回ECharts需要的数据格式.Map的key是生产厂家，value是销售金额
     */
    @RequestMapping("/getFactoryData")
    @ResponseBody
    public List<Map<String,Object>> getFactoryData(){
        return statService.getFactoryData(getLoginCompanyId());
    }


    /*
       作用： 获取产品销售的前五名数据
       url: /stat/getSellData
       返回： 获取产品销售的前五名数据，json格式。
    */
    @RequestMapping("/getSellData")
    @ResponseBody
    public List<Map<String,Object>> getShellData(){
        return statService.getSellData(getLoginCompanyId());
    }


    /*
   作用： 获取产品销售的前五名数据
   url: /stat/getSellData
   返回： 获取产品销售的前五名数据，json格式。
*/
    @RequestMapping("/getOnlineData")
    @ResponseBody
    public List<Map<String,Object>> getOnlineData(){
        return statService.getOnlineData(getLoginCompanyId());
    }

    /*
    作用： 获取厂家区域分布
    url: /stat/getFactoryArea
    返回： 获取厂家区域分布，json格式。
*/
    @RequestMapping("/getFactoryArea")
    @ResponseBody
    public List<Map<String,Object>> getFactoryArea(){
        return statService.getFactoryArea();
    }

}
